package cn.zhz.privacy.crypto;


import cn.zhz.privacy.enums.Algorithm;
import cn.zhz.privacy.utils.CryptoUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author ZHZ
 * @date 2021-11-15
 * @apiNote
 */
@Slf4j
@Component("MD5")
public class Md5Crypto implements ICrypto {

    @Override
    public Algorithm getAlgorithm() {
        return Algorithm.MD5;
    }

    /**
     * 加密
     *
     * @param value     加密前的值
     * @param key       秘钥
     * @return 加密后的值
     */
    @Override
    public String encrypt(String value, String key) {
        return CryptoUtil.encryptMd5Base64(value);
    }

    /**
     * 解密
     *
     * @param value     解密前的值
     * @param key       秘钥
     * @return 解密后的值
     */
    @Override
    public String decrypt(String value, String key) {
        log.error("该算法不支持解密");
        return "";
    }

}
